// 相当于导包, 引用另一个js里的内容
document.write("<script language=javascript src='/static/js/common_functions.js'></script>");

// layui 的 JS 使用, 都是要最开始用 layui.use
layui.use(['form', 'layer'], function () {
    var form = layui.form;
    var layer = layui.layer;
    form.render();

    var val_user_name = "";
    var Encrypted_pd = ""; // 加密后的密码变量

    // 确定一个flag, 判断后续是否执行
    var do_next_flag = true;

    // 提交表单
    form.on('submit(srm)', function (data) {
        // data 是一个字典, 能获取到此表单的数据, 字段的名字, 就是HTML输入框input的name属性的值
        val_password = $("#passwd").val();

        if (!IsEmpty(val_password)) {
            // 要确保密码符合要求, 必须要包含字母大小写, 数字, 下划线, 特殊字符, 不得包含汉字
            // 密码长度要在: 8~16 范围内
            if (!JudgePassWord(val_password)) {
                layer.msg("密码不符合要求 !");
                do_next_flag = false;

            } else {
                do_next_flag = true;
                // 密码提交要加密
                Encrypted_pd = aesEncrypt(val_password);
            }
            // 密码非空的判定, layUI已经内置, 不用再自己写
        }

        if (do_next_flag) {
            val_user_name = $("#username").val();

            if (!IsEmpty(val_user_name)) {

                // 限定用户名最大长度为50
                if (val_user_name.length <= 50) {
                    if (!JudgeUsername(val_user_name)) {
                        // 先判断用户名的格式符合要求: 只能是字母, 数字, 下划线组合, 并且数字不能放在开头, 不能包含特殊字符, 可以为汉字
                        // 符合要求之后, 再检测用户输入的用户名是否已被注册
                        layer.msg("该用户名不符合要求格式 !");
                        $("#username").select();
                        do_next_flag = false;

                    } else {
                        do_next_flag = true;
                    }

                } else {
                    layer.msg("用户名长度不能超过50个字符 !");
                    do_next_flag = false;
                }

                // 用户名非空的判断, layUI已内置
            }
        }
        // 将用户输入的信息, 发送给服务器
        if (do_next_flag) {
            $.ajax({
                type: "get",
                url: "login/",
                contentType: "application/x-www-form-urlencoded;charset=utf-8",
                data: {
                    user_name: val_user_name,
                    password: Encrypted_pd,
                },
                success: function (data) {
                    // 校验返回的值
                    if (data["msg"] == "wrong password") {
                        layer.msg("密码错误 !");

                    } else if (data["msg"] == "user does not exist") {
                        layer.msg("用户名不存在 !");
                        
                    } else {
                        // 登录成功之后, 要将界面跳转到首页, 并且首页右上角, 展示用户信息
                        var new_url = StringFormat("http://127.0.0.1:8000/homepage/all_items?username={0}&login_flag=True", 
                        val_user_name);
                        window.location.replace(new_url);
                    }
                }
            })
        }

        return false; // 组织表单提交后, 自动刷新清空的操作
    });

})